pub fn new_birthday_probability(n: u32) -> f64 {
    if n < 2 {
        return 0.0; // 当人数小于 2 时，不存在共享生日的概率
    }

    let days = 365.0;
    let mut probability = 1.0;

    //计算第 i+1 个人的生日不同于前面所有人的概率，并累乘得到总概率
    for i in 0..n {
        probability *= (days - i as f64) / days;
    }

    //用1减去都不在同一天的概率就是至少两个人在同一天的概率
    let probability = 1.0 - probability;
    (probability * 10000.0).round() / 10000.0 // 保留四位小数
}
